﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Framework.Message.SMS.CMPP
{
    public enum CMPPCommandType : uint
    {
        /// <summary>
        /// 建立连接
        /// </summary>
        Connect = 1,
        /// <summary>
        /// 建立连接应答
        /// </summary>
        Connect_Resp = 0x80000001,
        /// <summary>
        /// 终止连接
        /// </summary>
        Terminate = 0x00000002,
        /// <summary>
        /// 终止连接应答
        /// </summary>
        Terminate_Resp = 0x80000002,
        /// <summary>
        /// 提交短信
        /// </summary>
        Submit = 0x00000004,
        /// <summary>
        /// 提交短信应答
        /// </summary>
        Submit_Resp = 0x80000004,
        /// <summary>
        /// 短信下发
        /// </summary>
        Deliver = 0x00000005,
        /// <summary>
        /// 下发短信应答
        /// </summary>
        Deliver_Resp = 0x80000005,
        /// <summary>
        /// 发送短信状态查询
        /// </summary>
        Query = 0x00000006,
        /// <summary>
        /// 发送短信状态查询应答
        /// </summary>
        Query_Resp = 0x80000006,
        /// <summary>
        /// 删除短信
        /// </summary>
        Cancel = 0x00000007,
        /// <summary>
        /// 删除短信应答
        /// </summary>
        Cancel_Resp = 0x80000007,
        /// <summary>
        /// 激活测试
        /// </summary>
        Active_Test = 0x00000008,
        /// <summary>
        /// 激活测试应答 
        /// </summary>
        Active_Test_Resp = 0x80000008	
    }

    public enum ConnectRespStatus : uint
    {
        /// <summary>
        /// 正确
        /// </summary>
        Correct,
        /// <summary>
        /// 消息结构错
        /// </summary>
        MsgStructuralErro,
        /// <summary>
        /// 非法源地址
        /// </summary>
        ScrIdErro,
        /// <summary>
        /// 认证错
        /// </summary>
        AuthenticationErro,
        /// <summary>
        /// 版本太高
        /// </summary>
        VersionErro,
        /// <summary>
        /// 其他错误
        /// </summary>
        OtherErro
    }

    /// <summary>
    /// 付费用户类型
    /// </summary>
    public enum FeeUserType
    {
        /// <summary>
        /// 对目的终端MSISDN收费
        /// </summary>
        FEE_TERMINAL_ID = 0,
        /// <summary>
        /// 对源端MSISDN收费
        /// </summary>
        FEE_SOURCE_ID = 1,
        /// <summary>
        /// 对SP收费
        /// </summary>
        FEE_SP = 2,
        /// <summary>
        /// 表示本字段无效，对谁计费参见Fee_terminal_Id字段。
        /// </summary>
        FEE_NULL = 3
    }

    /// <summary>
    /// 信息格式
    /// </summary>
    public enum MessageCoding
    {
        /// <summary>
        /// ASCII串
        /// </summary>
        ASCII = 0,
        /// <summary>
        /// 短信写卡操作
        /// </summary>
        WriteCard = 1,
        /// <summary>
        /// 二进制信息
        /// </summary>
        Binary = 2,
        /// <summary>
        /// UCS2编码
        /// </summary>
        Ucs2 = 8,
        /// <summary>
        /// 含GB汉字
        /// </summary>
        GB2312 = 15
    }

    public enum CommandInQueueStatus
    {
        /// <summary>
        /// 新进入队列
        /// </summary>
        New,
        /// <summary>
        /// 发送中，等待回应。
        /// </summary>
        Sending,
        /// <summary>
        /// 发送完成。
        /// </summary>
        Sent
    }
}
